package com.syedu.day12;

/**
 * description：Java异常机制
 *
 * 顶级异常抽象父类: java.lang.Throwable
 * 子类:
 * Error        严重错误,一旦发生,无法挽回,所以需要编码谨慎!
 *              StackOverflowError,OutOfMemoryError...
 *
 * Exception    普通错误,可以通过一定的方式来处理异常
 *      非运行时异常:代码不用运行,在编译时期就报错
 *      处理方法:(下一个知识点:异常处理方式)
 *          InterruptedException                    打断异常
 *          IOException                             IO异常
 *          ClassNotFoundException                  类未找到异常
 *          ParseException                          解析异常
 *          ...
 *
 *      运行时异常:代码编译可以通过,但是运行时报错
 *      处理方法:编码谨慎
 *          NullPointerException                    空指针异常
 *          ArrayIndexOutOfBoundsException          数组下标越界异常
 *          ClassCastException                      类型转换异常
 *          InputMismatchException                  输入不匹配异常
 *          ArithmeticException                     数学除0异常
 *          ...
 *
 * @author Administrator
 * @date 2022/3/30 15:27
 */
public class ExceptionDemo {
    public static void main(String[] args) {
        //运行时异常
        //int[] arr = null;
        //System.out.println(arr[0]);//NullPointerException

        //int[] arr2 = {1,2,3};
        //System.out.println(arr2[3]);//ArrayIndexOutOfBoundsException

        //Animal cat = new Cat();
        //Dog dog = (Dog)cat;//ClassCastException

        //int i = InputUtil.getInt("请您输入数字:");//InputMismatchException

        //System.out.println(3/0);//ArithmeticException

        System.out.println("-------------------------------------------");

        //非运行时异常
        //Thread.sleep(1000);//InterruptedException

        //Files.readAllLines(Path.of(""));//IOException

        //Class.forName("");//ClassNotFoundException

        //new SimpleDateFormat("yyyy-MM-dd").parse("2022-12-12");//ParseException
    }
}